home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / util / libs / PalmLink.lha / PalmLink / developer / include / modules / libraries / palmlink.e next >
Encoding:
Text File  |  1998-09-26  |  10.3 KB  |  260 lines

  1. /*****************************************************************
  2. **                                                              **
  3. ** PalmLink Header File                                         **
  4. **                                                              **
  5. ******************************************************************
  6. **
  7. ** = C 1998 Richard Körber -- all rights reserved
  8. **
  9. *****************************************************************/
  10.  
  11. OPT MODULE
  12. OPT EXPORT
  13. OPT PREPROCESS
  14.  
  15. /*--------------------------------------------------------------**
  16. **    Miscellaneous
  17. */
  18. #define PALMLINK_NAME  'palmlink.library'
  19.  
  20. /*--------------------------------------------------------------**
  21. **    Tags
  22. */
  23. CONST PLTAG_BASE          = $8FEA0000        /* Base for all TagItems */
  24. CONST PLTAG_ErrorPtr      = PLTAG_BASE + $00 /* Pointer to LONG for error code result */
  25. CONST PLTAG_SerialDevice  = PLTAG_BASE + $01 /* Device name */
  26. CONST PLTAG_SerialUnit    = PLTAG_BASE + $02 /* Device unit nr. */
  27. CONST PLTAG_SerialMaxRate = PLTAG_BASE + $03 /* Maximum baud rate */
  28. CONST PLTAG_SerialTimeout = PLTAG_BASE + $04 /* Timeout = seconds */
  29. CONST PLTAG_AbortMask     = PLTAG_BASE + $05 /* Signal mask for abortion, e.g. CTRL-C */
  30.  
  31.  
  32. /*--------------------------------------------------------------**
  33. **    Desktop Link Protocol
  34. */
  35. /* System Time */
  36. OBJECT dlp_SysTime
  37.     year:INT                            /* Year */
  38.     month:CHAR                          /* Month */
  39.     day:CHAR                            /* Day */
  40.     hour:CHAR                           /* Hour */
  41.     minute:CHAR                         /* Minute */
  42.     second:CHAR                         /* Second */
  43.     pad:CHAR                            /* = always set to 0 */
  44. ENDOBJECT
  45.  
  46. /* RAM/ROM card info */
  47. OBJECT dlp_StorageInfo
  48.     cardVersion:INT                   /* Version */
  49.     date:dlp_SysTime                  /* Creation date */
  50.     romSize:LONG                      /* Size of ROM */
  51.     ramSize:LONG                      /* Size of RAM */
  52.     ramFree:LONG                      /* Free RAM */
  53.     name[128]:ARRAY OF CHAR           /* Name of the card */
  54.     manuf[128]:ARRAY OF CHAR          /* Manufacturer of the card */
  55.     cardNo:CHAR                       /* Card No. */
  56.     more:CHAR                         /* BOOL: more cards? */
  57. ENDOBJECT
  58.  
  59. /* System Info */
  60. OBJECT dlp_SysInfo
  61.     romVer:LONG                         /* ROM Version */
  62.     locale:LONG                         /* Localizion code */
  63.     name[128]:ARRAY OF CHAR             /* System name */
  64. ENDOBJECT
  65.  
  66. /* User Info */
  67. OBJECT dlp_UserInfo
  68.     userID:LONG
  69.     viewerID:LONG
  70.     lastSyncPC:LONG
  71.     successfulSync:dlp_SysTime
  72.     lastSync:dlp_SysTime
  73.     userName[128]:ARRAY OF CHAR
  74.     password[128]:ARRAY OF CHAR
  75. ENDOBJECT
  76.  
  77. /* Netsync Info */
  78. OBJECT dlp_NetSyncInfo
  79.     lanSync:INT
  80.     hostName[256]:ARRAY OF CHAR
  81.     hostAddress[40]:ARRAY OF CHAR
  82.     hostSubnetMask[40]:ARRAY OF CHAR
  83. ENDOBJECT
  84.  
  85. /* Database Info */
  86. OBJECT dlp_DBInfo
  87.     more:CHAR                       /* BOOL: more databases? */
  88.     excludes:CHAR                   /* Exclude flags, see below */
  89.     flags:INT                       /* Entry flags, see below */
  90.     type:LONG                       /* Type ID */
  91.     creator:LONG                    /* Creator ID */
  92.     version:INT                     /* Version */
  93.     modnum:LONG                     /* Modification Number */
  94.     createDate:dlp_SysTime          /* Creation date */
  95.     modifyDate:dlp_SysTime          /* Last modification */
  96.     backupDate:dlp_SysTime          /* Last backup */
  97.     index:INT                       /* Index */
  98.     name[34]:ARRAY OF CHAR          /* Entry name */
  99. ENDOBJECT
  100.  
  101. /* GetDBInfo flags */
  102. CONST DLPGDBF_RAM           = $80    /* List RAM entries only */
  103. CONST DLPGDBF_ROM           = $40    /* List ROM entries only */
  104.  
  105. /* DBInfo excludes */
  106. CONST DLPDBIE_EXCLUDESYNC   = $80    /* Exclude from Sync */
  107.  
  108. /* DBInfo flags */
  109. CONST DLPDBIF_RESOURCE      = $0001  /* DB Resource = not a record */
  110. CONST DLPDBIF_READONLY      = $0002  /* Read only */
  111. CONST DLPDBIF_APPINFODIRTY  = $0004  /* AppInfo has been modified */
  112. CONST DLPDBIF_BACKUP        = $0008  /* Generic backup */
  113. CONST DLPDBIF_NEWER         = $0010  /* Newer may replace older in open DB */
  114. CONST DLPDBIF_RESET         = $0020  /* Reset after installation */
  115. CONST DLPDBIF_OPEN          = $8000  /* Currently opened */
  116.  
  117. /* DB Attribute */
  118. CONST DLPDBAT_DELETED       = $80    /* Deleted */
  119. CONST DLPDBAT_DIRTY         = $40    /* Changed since last sync */
  120. CONST DLPDBAT_BUSY          = $20    /* Currently locked */
  121. CONST DLPDBAT_SECRET        = $10    /* Private entry */
  122. CONST DLPDBAT_ARCHIVE       = $08    /* To be archived on next sync */
  123.  
  124. /* DB Open flags */
  125. CONST DLPDBOF_READ          = $80    /* Open for reading */
  126. CONST DLPDBOF_WRITE         = $40    /* Open for writing */
  127. CONST DLPDBOF_EXCLUSIVE     = $20    /* Do not share */
  128. CONST DLPDBOF_SECRET        = $10    /* Private entry */
  129. CONST DLPDBOF_READWRITE     = $C0
  130.  
  131.  
  132.  
  133. /*--------------------------------------------------------------**
  134. **    Connection Management Protocol
  135. */
  136.  
  137. /* CMP structure */
  138. OBJECT pl_CMP
  139.     type:CHAR                          /* CMP message type */
  140.     flags:CHAR                         /* Some flags */
  141.     version:INT                       /* Version code */
  142.     reserved:INT                      /* 0 for now */
  143.     baudrate:LONG                      /* Wakeup: maximum rate */
  144.                                         /* Init: connection rate */
  145. ENDOBJECT
  146.  
  147. /* CMP Types */
  148. CONST PLCMP_WAKEUP      = 1           /* Wakeup */
  149. CONST PLCMP_INIT        = 2           /* Init connection */
  150. CONST PLCMP_ABORT       = 3           /* Abort connection */
  151.  
  152. /* CMP Flags */
  153. CONST PLCMPF_CHANGEBAUD = $80        /* Init: change baud rate */
  154.  
  155.  
  156.  
  157. /*--------------------------------------------------------------**
  158. **    Packet Assembly Disassembly Protocol
  159. */
  160.  
  161. /* PADP Header structure */
  162. OBJECT pl_PADP_Header
  163.     type:CHAR                          /* Type of Packet */
  164.     flags:CHAR                         /* Flags */
  165.     size:INT                           /* Size of data */
  166. ENDOBJECT
  167.  
  168. /* PADP Types */
  169. CONST PLPADP_DATA       = $01        /* Plain Data */
  170. CONST PLPADP_WAKE       = $101       /* Wakeup, used by CMP */
  171. CONST PLPADP_ACK        = $02        /* Acknowledge */
  172. CONST PLPADP_TICKLE     = $04        /* Tickle */
  173. CONST PLPADP_ABORT      = $08        /* Abort = PalmOS 2.0 only */
  174.  
  175. /* PADP Flags */
  176. CONST PLPADPF_FIRST     = $80        /* First packet */
  177. CONST PLPADPF_LAST      = $40        /* Last packet */
  178. CONST PLPADPF_MEMERROR  = $20        /* Receiver has not enough memory */
  179.  
  180.  
  181.  
  182. /*--------------------------------------------------------------**
  183. **    Serial Link Protocol
  184. */
  185.  
  186. /* SLP Header structure */
  187. OBJECT pl_SLP_Header
  188.     signature[3]:ARRAY OF CHAR         /* = will be set by palmlink.library */
  189.     destSocket:CHAR                    /* Destination Socket ID */
  190.     srcSocket:CHAR                     /* Source Socket ID */
  191.     pckType:CHAR                       /* Packet Type */
  192.     dataSize:INT                       /* = will be set by palmlink.library */
  193.     transID:CHAR                       /* Current transaction ID */
  194.     checksum:CHAR                      /* = calculated by palmlink.library */
  195. ENDOBJECT
  196.  
  197. /* SLP Socket IDs */
  198. CONST PLSLPSOCK_DEBUG = 0             /* Debugger */
  199. CONST PLSLPSOCK_CON   = 1             /* Console */
  200. CONST PLSLPSOCK_RUI   = 2             /* Remote User Interface */
  201. CONST PLSLPSOCK_DLP   = 3             /* Desktop Link Protocol */
  202.  
  203. /* SLP Packet Types */
  204. CONST PLSLPTYPE_RDCP  = 0             /* Remote Debugger / Console */
  205. CONST PLSLPTYPE_PADP  = 2             /* Packet Assembler Disassembler */
  206. CONST PLSLPTYPE_LOOP  = 3             /* Loopback */
  207.  
  208.  
  209.  
  210. /*--------------------------------------------------------------**
  211. **    Error Codes
  212. */
  213.  
  214. /* PalmLink errors */
  215. CONST PLERR_OKAY              = 0     /* No error occured */
  216. CONST PLERR_NOMEM             = -1    /* Not enough memory */
  217. CONST PLERR_NORESOURCE        = -2    /* A resource is allocated */
  218. CONST PLERR_SERIAL            = -3    /* Some serial error */
  219. CONST PLERR_TIMEOUT           = -4    /* Connection timeout */
  220. CONST PLERR_CHECKSUM          = -5    /* Data checksum error */
  221. CONST PLERR_REMOTENOMEM       = -6    /* Remote has not enough memory */
  222. CONST PLERR_BADPACKET         = -7    /* Got an unexpected packet */
  223. CONST PLERR_NOTCOMPATIBLE     = -8    /* Connection not compatible */
  224. CONST PLERR_BADBAUD           = -9    /* No fitting Baud rate found */
  225.                                         /* If you should get this one, try */
  226.                                         /* to lower PLTAG_SerialMaxRate. */
  227.                                         /* 9600 should work in any case, */
  228.                                         /* except you have a very wierd */
  229.                                         /* multi serial board. */
  230. CONST PLERR_DOSERROR          = -10   /* DOS error, see IoErr=  */
  231. CONST PLERR_OS2REQUIRED       = -11   /* PalmOS2.0 or higher is required */
  232.                                         /* to use this function */
  233. CONST PLERR_TOOLARGE          = -12   /* Data buffer is too large = >64KB */
  234. CONST PLERR_ABORTED           = -13   /* Aborted by abortion signal */
  235.  
  236. /* DLP errors */
  237. CONST PLERR_GENERAL           = 1     /* General system error */
  238. CONST PLERR_ILLEGALFCT        = 2     /* Illegal function */
  239. CONST PLERR_DLPNOMEM          = 3     /* Out of memory */
  240. CONST PLERR_INVPARAM          = 4     /* Invalid parameter */
  241. CONST PLERR_NOTFOUND          = 5     /* Not found */
  242. CONST PLERR_NONEOPEN          = 6     /* None opened */
  243. CONST PLERR_ALREADYOPEN       = 7     /* Already opened */
  244. CONST PLERR_TOOMANYOPEN       = 8     /* Too many are opened */
  245. CONST PLERR_ALREADYEXIST      = 9     /* Already exists */
  246. CONST PLERR_CANTOPEN          = 10    /* Can't open */
  247. CONST PLERR_RECDELETED        = 11    /* Record deleted */
  248. CONST PLERR_RECBUSY           = 12    /* Record busy */
  249. CONST PLERR_UNSUPPORTED       = 13    /* Operation not supported */
  250. CONST PLERR_READONLY          = 15    /* Read only */
  251. CONST PLERR_NOSPACE           = 16    /* Not enough space */
  252. CONST PLERR_EXCEEDED          = 17    /* Limit exceeded */
  253. CONST PLERR_CANCELLED         = 18    /* Sync cancelled */
  254. CONST PLERR_BADARG            = 19    /* Bad argument wrapper */
  255. CONST PLERR_ARGMISSING        = 20    /* Argument is missing */
  256. CONST PLERR_ARGSIZE           = 21    /* Bad argument size */
  257.  
  258.  
  259. /****************************************************************/
  260.